package com.jic.market.request;

import com.jic.common.base.vo.AdminOperate;
import com.jic.market.request.manager.base.BaseActivityRequest;

import java.math.BigDecimal;
import java.util.Date;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * @author: gaolanyu
 * @date: 2020-01-15
 * @remark:
 */
@Data
@ApiModel(description = "优惠券配置添加model")
public class CouponConfigAddRequest extends BaseActivityRequest {
    @ApiModelProperty( notes = "优惠券种类 0电子券 1实体券")
    private Integer couponType;
    @ApiModelProperty(required = true, notes = "id领取总数限制")
    private Long idLimitNum;
    @ApiModelProperty(required = true, notes = "id每日领取数量限制")
    private Long idLimitDayNum;
    @ApiModelProperty(required = true, notes = "金额折扣类型 0商品券 1运费券")
    private Integer amountDeductType;
    @ApiModelProperty(required = true, notes = "优惠方式,0金额券,1折扣券")
    private Integer couponMode;
    @ApiModelProperty(required = true, notes = "优惠券面值单位元")
    private BigDecimal couponAmount;
    @ApiModelProperty(required = true, notes = "优惠券发放总数")
    private Long grantTotalNum;
    @ApiModelProperty(required = true, notes = "折扣数")
    private String discountNum;
    @ApiModelProperty(required = true, notes = "折扣上限单位元")
    private BigDecimal discountLimit;
    @ApiModelProperty(required = true, notes = "使用说明")
    private String couponUseDesc;
    @ApiModelProperty(required = true, notes = "使用开始时间")
    private Date couponUseStartTime;
    @ApiModelProperty(required = true, notes = "使用结束时间")
    private Date couponUseEndTime;
    @ApiModelProperty(required = true, notes = "订单总金额限制单位元")
    private BigDecimal useTotalAmountLimit;
    @ApiModelProperty(notes = "是否可叠加使用 0否 1是")
    private String overlayFlag;
    @ApiModelProperty(notes = "优惠券搜索词")
    private String searchKeyword;
    @ApiModelProperty(notes = "活动费用预算:面值*发行数量")
    private Long budget;
    @ApiModelProperty(notes = "预警比例")
    private String warningNum;
    @ApiModelProperty(notes = "优惠券简称")
    private String abbreviationName;

    @ApiModelProperty(hidden = true)
    private AdminOperate adminOperate;
}
